Gábor Németh [Thu, 29 Aug 2024 06:59:23 +0000 (08:59 +0200)]
Optionally execute a program after group change
We accept a `-c` command option or possible second argument which is then
invoked through the user's shell after the group change, as by the `sg`
utility. The default is still running the shell itself.
Gbp-Pq: Topic upstream-master
Gbp-Pq: Name Optionally-execute-a-program-after-group-change.patch
Guixin Liu [Wed, 21 Aug 2024 08:49:54 +0000 (16:49 +0800)]
lscpu: optimize query virt pci device
The lscpu command needs to traverse the /proc/bus/pci/devices file
three times to check for any PCI devices related to virtualization.
If there are many PCI devices on the machine, this can lead to
increased execution time for lscpu. It would be beneficial to
consolidate these queries into a single check to optimize the
execution time of lscpu.
Use time command to test on a machine with 13000 PCI devices:
before:
real 0m13.506s
user 0m0.028s
sys 0m13.409s
after:
real 0m5.834s
user 0m0.018s
sys 0m5.771s
Signed-off-by: Guixin Liu <kanie@linux.alibaba.com>
Gbp-Pq: Topic upstream-master
Gbp-Pq: Name lscpu-optimize-query-virt-pci-device.patch
Karel Zak [Thu, 22 Aug 2024 06:56:52 +0000 (08:56 +0200)]
more: make sure we have data on stderr
more(1) uses more_poll() to monitor data on stdin, stderr, and
signals. It is used before read_command(), but this function only
reads from stderr. Therefore, if any other non-stderr event occurs,
this function will wait on read(). In this case, more(1) will not
react to signals anymore. We need to ensure that more(1) only waits in
more_poll().
Try
for x in {1..1000}; do echo "line $x"; done | more
to reproduce.
Reported-by: Radka Skvarilova <rskvaril@redhat.com> Signed-off-by: Karel Zak <kzak@redhat.com>
Gbp-Pq: Topic upstream-master
Gbp-Pq: Name more-make-sure-we-have-data-on-stderr.patch
Laurent Vivier [Wed, 19 Jun 2024 08:19:51 +0000 (10:19 +0200)]
unshare: load binfmt_misc interpreter
add -l, --load-interp <file> to load a binfmt_misc interpreter at startup.
The interpreter is loaded from the initial fileystem if the 'F' flags is
provided, otherwise from inside the new namespace
This makes possible to start a chroot of another architecture without
being root.
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Gbp-Pq: Topic upstream-master
Gbp-Pq: Name unshare-load-binfmt_misc-interpreter.patch
Karel Zak [Tue, 14 May 2024 09:58:20 +0000 (11:58 +0200)]
libmount: Fix atime remount for new API
All atime settings are mutually exclusive, and the attr_set mask for
the mount_setattr() syscall cannot contain multiple MOUNT_ATTR_ atime
related options.
Unfortunately, during a remount, the list of options is composed of
both old and new options. In this case, libmount sets more atime
options to the mask. The correct behavior is to use the last atime
related option from the list.
Fixes: https://github.com/util-linux/util-linux/issues/3032 Signed-off-by: Karel Zak <kzak@redhat.com>
Gbp-Pq: Topic upstream-master
Gbp-Pq: Name libmount-Fix-atime-remount-for-new-API.patch
Karel Zak [Thu, 8 Feb 2024 11:42:51 +0000 (12:42 +0100)]
fsck: warn if fsck.<type> not found and device is specified
The fsck(8) command prints an error for certain 'required'
filesystems, such as extN, if the corresponding fsck.<type> helper is
not found. However, for other filesystems, it silently ignores the
device. While this behavior is acceptable for the -A option, if a user
explicitly specifies the device on the command line, it is probably a
good idea to be more verbose and issue a warning that the device will
be ignored. The warning is enabled only for interactive mode (only one
device specified or -s).
Note that some filesystems do not have an fsck utility, so caution is
needed when issuing such warnings to prevent the generation of a large
number of unwanted entries in system logs, etc."
Reported-by: наб <nabijaczleweli@nabijaczleweli.xyz> Signed-off-by: Karel Zak <kzak@redhat.com> Closes: #1062208
Gbp-Pq: Topic upstream-master
Gbp-Pq: Name fsck-warn-if-fsck.-type-not-found-and-device-is-specified.patch
* Mark nologin, newgrp binaries and man pages linux-any
* Install manpages using dh_install
* Import patches from upstream master
* newgrp: Optionally execute a program after group change
* Treat out of memory as error
* agetty: add "systemd" to --version output
* lscpu: optimize query virt pci device
* more: make sure we have data on stderr
Thanks to Gábor Németh <homar@riseup.net> (Closes: #1078122)
* Revert "Remove sg symlink to newgrp"
* Install sg symlink only on Linux
* Install write(1) manpage
* salsa-ci: add nodoc profile
Laurent Vivier [Wed, 19 Jun 2024 08:19:51 +0000 (10:19 +0200)]
unshare: load binfmt_misc interpreter
add -l, --load-interp <file> to load a binfmt_misc interpreter at startup.
The interpreter is loaded from the initial fileystem if the 'F' flags is
provided, otherwise from inside the new namespace
This makes possible to start a chroot of another architecture without
being root.
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Gbp-Pq: Topic upstream-master
Gbp-Pq: Name unshare-load-binfmt_misc-interpreter.patch
Karel Zak [Tue, 14 May 2024 09:58:20 +0000 (11:58 +0200)]
libmount: Fix atime remount for new API
All atime settings are mutually exclusive, and the attr_set mask for
the mount_setattr() syscall cannot contain multiple MOUNT_ATTR_ atime
related options.
Unfortunately, during a remount, the list of options is composed of
both old and new options. In this case, libmount sets more atime
options to the mask. The correct behavior is to use the last atime
related option from the list.
Fixes: https://github.com/util-linux/util-linux/issues/3032 Signed-off-by: Karel Zak <kzak@redhat.com>
Gbp-Pq: Topic upstream-master
Gbp-Pq: Name libmount-Fix-atime-remount-for-new-API.patch
Karel Zak [Thu, 8 Feb 2024 11:42:51 +0000 (12:42 +0100)]
fsck: warn if fsck.<type> not found and device is specified
The fsck(8) command prints an error for certain 'required'
filesystems, such as extN, if the corresponding fsck.<type> helper is
not found. However, for other filesystems, it silently ignores the
device. While this behavior is acceptable for the -A option, if a user
explicitly specifies the device on the command line, it is probably a
good idea to be more verbose and issue a warning that the device will
be ignored. The warning is enabled only for interactive mode (only one
device specified or -s).
Note that some filesystems do not have an fsck utility, so caution is
needed when issuing such warnings to prevent the generation of a large
number of unwanted entries in system logs, etc."
Reported-by: наб <nabijaczleweli@nabijaczleweli.xyz> Signed-off-by: Karel Zak <kzak@redhat.com> Closes: #1062208
Gbp-Pq: Topic upstream-master
Gbp-Pq: Name fsck-warn-if-fsck.-type-not-found-and-device-is-specified.patch
Laurent Vivier [Wed, 19 Jun 2024 08:19:51 +0000 (10:19 +0200)]
unshare: load binfmt_misc interpreter
add -l, --load-interp <file> to load a binfmt_misc interpreter at startup.
The interpreter is loaded from the initial fileystem if the 'F' flags is
provided, otherwise from inside the new namespace
This makes possible to start a chroot of another architecture without
being root.
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Gbp-Pq: Topic upstream-master
Gbp-Pq: Name unshare-load-binfmt_misc-interpreter.patch
Karel Zak [Tue, 14 May 2024 09:58:20 +0000 (11:58 +0200)]
libmount: Fix atime remount for new API
All atime settings are mutually exclusive, and the attr_set mask for
the mount_setattr() syscall cannot contain multiple MOUNT_ATTR_ atime
related options.
Unfortunately, during a remount, the list of options is composed of
both old and new options. In this case, libmount sets more atime
options to the mask. The correct behavior is to use the last atime
related option from the list.
Fixes: https://github.com/util-linux/util-linux/issues/3032 Signed-off-by: Karel Zak <kzak@redhat.com>
Gbp-Pq: Topic upstream-master
Gbp-Pq: Name libmount-Fix-atime-remount-for-new-API.patch
Karel Zak [Thu, 8 Feb 2024 11:42:51 +0000 (12:42 +0100)]
fsck: warn if fsck.<type> not found and device is specified
The fsck(8) command prints an error for certain 'required'
filesystems, such as extN, if the corresponding fsck.<type> helper is
not found. However, for other filesystems, it silently ignores the
device. While this behavior is acceptable for the -A option, if a user
explicitly specifies the device on the command line, it is probably a
good idea to be more verbose and issue a warning that the device will
be ignored. The warning is enabled only for interactive mode (only one
device specified or -s).
Note that some filesystems do not have an fsck utility, so caution is
needed when issuing such warnings to prevent the generation of a large
number of unwanted entries in system logs, etc."
Reported-by: наб <nabijaczleweli@nabijaczleweli.xyz> Signed-off-by: Karel Zak <kzak@redhat.com> Closes: #1062208
Gbp-Pq: Topic upstream-master
Gbp-Pq: Name fsck-warn-if-fsck.-type-not-found-and-device-is-specified.patch
* login: update Section to admin (like in src:shadow)
Thanks to Johannes Schauer Marin Rodrigues <josch@debian.org>
* Stop installing getopt-example.tcsh.
Per lintian tag csh-considered-harmful and policy section 10.4.
Laurent Vivier [Wed, 19 Jun 2024 08:19:51 +0000 (10:19 +0200)]
unshare: load binfmt_misc interpreter
add -l, --load-interp <file> to load a binfmt_misc interpreter at startup.
The interpreter is loaded from the initial fileystem if the 'F' flags is
provided, otherwise from inside the new namespace
This makes possible to start a chroot of another architecture without
being root.
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Gbp-Pq: Topic upstream-master
Gbp-Pq: Name unshare-load-binfmt_misc-interpreter.patch
Karel Zak [Tue, 14 May 2024 09:58:20 +0000 (11:58 +0200)]
libmount: Fix atime remount for new API
All atime settings are mutually exclusive, and the attr_set mask for
the mount_setattr() syscall cannot contain multiple MOUNT_ATTR_ atime
related options.
Unfortunately, during a remount, the list of options is composed of
both old and new options. In this case, libmount sets more atime
options to the mask. The correct behavior is to use the last atime
related option from the list.
Fixes: https://github.com/util-linux/util-linux/issues/3032 Signed-off-by: Karel Zak <kzak@redhat.com>
Gbp-Pq: Topic upstream-master
Gbp-Pq: Name libmount-Fix-atime-remount-for-new-API.patch
Karel Zak [Thu, 8 Feb 2024 11:42:51 +0000 (12:42 +0100)]
fsck: warn if fsck.<type> not found and device is specified
The fsck(8) command prints an error for certain 'required'
filesystems, such as extN, if the corresponding fsck.<type> helper is
not found. However, for other filesystems, it silently ignores the
device. While this behavior is acceptable for the -A option, if a user
explicitly specifies the device on the command line, it is probably a
good idea to be more verbose and issue a warning that the device will
be ignored. The warning is enabled only for interactive mode (only one
device specified or -s).
Note that some filesystems do not have an fsck utility, so caution is
needed when issuing such warnings to prevent the generation of a large
number of unwanted entries in system logs, etc."
Reported-by: наб <nabijaczleweli@nabijaczleweli.xyz> Signed-off-by: Karel Zak <kzak@redhat.com> Closes: #1062208
Gbp-Pq: Topic upstream-master
Gbp-Pq: Name fsck-warn-if-fsck.-type-not-found-and-device-is-specified.patch
Karel Zak [Tue, 14 May 2024 09:58:20 +0000 (11:58 +0200)]
libmount: Fix atime remount for new API
All atime settings are mutually exclusive, and the attr_set mask for
the mount_setattr() syscall cannot contain multiple MOUNT_ATTR_ atime
related options.
Unfortunately, during a remount, the list of options is composed of
both old and new options. In this case, libmount sets more atime
options to the mask. The correct behavior is to use the last atime
related option from the list.
Fixes: https://github.com/util-linux/util-linux/issues/3032 Signed-off-by: Karel Zak <kzak@redhat.com>
Gbp-Pq: Topic upstream-master
Gbp-Pq: Name libmount-Fix-atime-remount-for-new-API.patch
After fork() the memory of the calling thread is preserved into the new
process. This also includes TLS.
Make sure to reset the cache after a fork to avoid reuse of cached
values.
Only the TLS of the thread calling fork() is relevant as that is the
only thread that gets forked.
New threads will received newly initialized TLS.
Fixes https://github.com/util-linux/util-linux/issues/3009 Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
Gbp-Pq: Topic upstream-master
Gbp-Pq: Name libuuid-clear-uuidd-cache-on-fork.patch
Karel Zak [Thu, 8 Feb 2024 11:42:51 +0000 (12:42 +0100)]
fsck: warn if fsck.<type> not found and device is specified
The fsck(8) command prints an error for certain 'required'
filesystems, such as extN, if the corresponding fsck.<type> helper is
not found. However, for other filesystems, it silently ignores the
device. While this behavior is acceptable for the -A option, if a user
explicitly specifies the device on the command line, it is probably a
good idea to be more verbose and issue a warning that the device will
be ignored. The warning is enabled only for interactive mode (only one
device specified or -s).
Note that some filesystems do not have an fsck utility, so caution is
needed when issuing such warnings to prevent the generation of a large
number of unwanted entries in system logs, etc."
Reported-by: наб <nabijaczleweli@nabijaczleweli.xyz> Signed-off-by: Karel Zak <kzak@redhat.com> Closes: #1062208
Gbp-Pq: Topic upstream
Gbp-Pq: Name fsck-warn-if-fsck.-type-not-found-and-device-is-specified.patch